package com.team06.config;

import org.springframework.util.StringUtils;
import java.io.File;
import java.util.ArrayList;
import java.util.List;

public class FileUtil {
    /**
     * 遍历指定目录，获取所有符合指定前缀的 XML 文件路径
     * @param dirPath 目录路径
     * @param prefix 指定的文件前缀
     * @return 符合条件的文件路径列表
     */
    public static List<String> listTargetXmlFiles(String dirPath, String prefix) {
        List<String> filePaths = new ArrayList<>();
        File dir = new File(dirPath);
        if (dir.exists() && dir.isDirectory()) {
            File[] files = dir.listFiles();
            if (files != null) {
                for (File file : files) {
                    // 递归处理子文件夹（如果有多层目录嵌套）
                    if (file.isDirectory()) {
                        filePaths.addAll(listTargetXmlFiles(file.getAbsolutePath(), prefix));
                    } else {
                        String fileName = file.getName();
                        // 筛选以指定前缀开头且后缀是 .xml 的文件
                        if (StringUtils.hasText(fileName)
                                && fileName.startsWith(prefix)
                                && fileName.endsWith(".xml")) {
                            filePaths.add(file.getAbsolutePath());
                        }
                    }
                }
            }
        }
        return filePaths;
    }
}